This invention relates to the field of data processing, and, more particularly to improvements in recovering from a corrupt flash read only memory (ROM).
A flash ROM is a relative new storage device available for the non-volatile storage of power-on self-test (POST) and basic input/output system (BIOS) programs, and other microcode, required for system initialization. A flash ROM is an alternative to using electronically programmable read only memories (EPROM) that are used for the same purposes. A flash ROM can be reprogrammed without being removed from the system, providing a more expeditious and less costly solution over EPROMS when field updates are required. The only disadvantage to such solution is if the flash ROM becomes corrupted such as by a power loss during reprogramming, in which case there is no way to initialize the system again to reprogram the flash RAM if the system has only one initialyzing resource.
In one prior art system, both a flash ROM and an EPROM are installed in the system as primary and secondary storage resources respectively, and a hardware jumper is provided to select which resource is used to initialize the system. If the flash ROM becomes corrupted, someone (such as a systems engineer or a skilled user) must manually move the jumper to select the EPROM, power on the system and wait for it to initialize, move the jumper back to select the flash RAM, and then reprogram the flash ROM by a software utility. Although such solution works, the cost associated with it is high in terms of system down time, labor to switch the jumper, and cost of jumper itself.